import os

from langchain.chains.summarize.refine_prompts import prompt_template
from langchain_community.chat_models import ChatTongyi
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate

# 1、读取环境变量配置的api_key和url
AI_QW_KEY = os.getenv("AI_QW_KEY")
AI_QW_URL =os.getenv("AI_QW_URL")


# 设置通义千问的 API Key
os.environ["DASHSCOPE_API_KEY"] = AI_QW_KEY # 替换为你的 API Key
# 可选：设置通义千问的 API 端点（如果需要）
os.environ["DASHSCOPE_ENDPOINT"] = AI_QW_URL

# 调用大语言模型
# 1、创建模型实例
model = ChatTongyi()

#model = ChatOpenAI(model='gpt-4-turbo') OpenAI用这个

# 2、定义提示模板
prompt_template = ChatPromptTemplate.from_messages([
    ("system","将下面的内容翻译成{language}"),
    ("user","{content}")
])

# 简单的解析响应数据
# 3、创建返回的数据解析器，提取content的内容
parser = StrOutputParser()


# 4、得到链 构建调用链：提示词 -> 模型 -> 输出解析器
chain = prompt_template | model | parser

# 5、直接使用chain来调用
print(chain.invoke({"language":"English","content":"今天是周四，我很开心"}))

#Today is Thursday, and I am very happy.